Information services and data processing industries in general have rapidly expanded as a result of the need for computer systems to manage and store large amounts of data. As an example, financial service companies such as banks, mutual fund companies and the like now, more than ever before, require access to many terabytes of data and files stored in high capacity data storage systems. Other types of service companies have similar needs for data storage.
Data storage system developers have responded to the increased need for storage by integrating high capacity data storage systems, data communications devices (e.g., switches), and computer systems (e.g., host computers or servers) into so-called “storage networks” or “Storage Area Networks” (SANs).
A variety of storage systems (also referred to herein as “storage arrays” or simply “arrays”) are known in the art. One example of a storage system is a collection of storage devices (e.g. hard disk drives) and associated communication, power, cooling, and management components. Such storage systems can also include one or more storage processors for handling both requests for allocation and input/output (IO) requests from a user. A storage processor can be the controller for and primary interface to the storage system.
Storage systems are typically used to provide storage space for one or more computer file systems, databases, applications, and the like. For this and other reasons, it is common for storage systems to be logically partitioned into chunks of storage space. This allows a unified storage system to appear as a collection of separate file systems, network drives, etc. Storage systems can be logically partitioned in a variety of ways. For example, the storage devices (e.g., disk drives) of a storage system can be logically organized into one or more RAID groups. A RAID group is a group of physical storage devices across which data can be distributed and/or replicated to achieve redundancy. This can avoid the loss or unavailability of data arising from a hardware failure such as a disk drive failure. Alternatively, or in addition, the physical storage area of a storage system can be mapped to one or more “logical units” (LUs).
In a storage area network, a collection of storage systems can be networked together via a switching fabric to a number of host computer systems operating as servers. The host computers can access data stored in the storage systems (of a respective storage area network) on behalf of client computers that request data from the data storage systems. For example, according to conventional applications, upon receiving a storage access request, a respective host computer in the storage area network can access a large repository of storage through the switching fabric of the storage area network on behalf of the requesting client. Thus, via the host computer (e.g., server), the client has access to the shared storage system. In many applications, storage area networks support high-speed acquisitions of data so that the host servers are able to promptly retrieve data from and store data to the storage system.
One or more management systems or applications are generally required to administer storage area networks. Conventional storage area network management applications typically include a graphical user interface (GUI) that enables a network manager to graphically manage, control, and configure various types of hardware and software resources associated with a corresponding managed storage area network. For example, a conventional storage management application can generate a GUI that can be used by a storage administrator to graphically select, interact with, and manage local or remote devices and software processes associated with the storage area network. The GUI, in combination with an input device such as a hand operated mouse and corresponding pointer displayed on a viewing screen or other display, can allow a storage administrator to manage hardware and software entities such as file systems, databases, storage devices, volumes, peripherals, network data communications devices, RAID groups, LUs, etc., associated with the storage area network. Consequently, a storage management station and associated management software enables a storage administrator (a person responsible for managing the storage network) to manage the storage area network and its resources.
One problem with existing management methods and systems is that each computer resource associated with a storage area network can require its own login procedure for authenticating a user to the resource. Since storage area networks usually include multiple such resources, there is a need for methods and systems that can efficiently authenticate or log in a user to multiple computer resources.
Another problem with existing methods and systems is that they cannot recognize or log into computer resources that were not supported or contemplated when the method or system was designed. Thus, there is a need for pluggable login methods and systems that can support logins to initially unrecognized systems via registration of an appropriate plugin.
Yet another drawback to existing methods and systems is that they cannot dynamically recognize the various computer resources available for a user to log into. A user must typically know the specific addresses and types of each resource in order to log into that resource. Accordingly, there is a need for methods and systems that can dynamically discover available computer resources and recognize the type or types of such resources.